<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-hans" dir="ltr"
  >

<head profile="http://www.w3.org/1999/xhtml/vocab">
  <!--[if IE]><![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<link rel="shortcut icon" href="http://drupalct.org/sites/default/files/favicon.ico" type="image/vnd.microsoft.icon" />
  <title>Drupal 教程文档 | Drupal 社区团队</title>
  <meta name="MobileOptimized" content="width">
  <meta name="HandheldFriendly" content="true">
  <meta name="viewport" content="width=device-width">
  <link type="text/css" rel="stylesheet" href="./Css/css__EReu3pbnwubXKWE8wuvQT1tK_WSqC3PQW1eWZWLljGg__tSuQfLoEFtF7Hstjmu_WNfKNX2WwGm1Tx5jS-nP0SVc__LB5Z6Tg91OTzo44Ekv_obaj937oxBL5Ysq--Qq79p98.css" media="all" />

<!--[if lte IE 7]>
<link type="text/css" rel="stylesheet" href="//drupalct.org/sites/all/themes/team/css/ie.css?o91piz" media="all" />
<![endif]-->

<!--[if IE 6]>
<link type="text/css" rel="stylesheet" href="//drupalct.org/sites/all/themes/team/css/ie6.css?o91piz" media="all" />
<![endif]-->
  </head>
<body class="html not-front not-logged-in no-sidebars page-writing footer-columns" >
  <div id="skip-link">
    <a href="#main-content" class="element-invisible element-focusable">跳转到主要内容</a>
  </div>
    <div id="page-wrapper"><div id="page">

  <div id="header" class="without-secondary-menu"><div class="section clearfix">

          <a href="/" title="首页" rel="home" id="logo">
        <img src="http://drupalct.org/sites/default/files/logo_0.png" alt="首页" />
      </a>
    
          <div id="name-and-slogan" class="element-invisible">

                              <div id="site-name" class="element-invisible">
              <strong>
                <a href="/" title="首页" rel="home"><span>Drupal 社区团队</span></a>
              </strong>
            </div>
                  
                  <div id="site-slogan" class="element-invisible">
            打造一站式 Drupal 中文服务社区          </div>
        
      </div> <!-- /#name-and-slogan -->
    
    
          <div id="main-menu" class="navigation">
        <h2 class="element-invisible">主菜单</h2><ul id="main-menu-links" class="links clearfix"><li class="menu-215 first"><a href="/about">关于我们</a></li>
<li class="menu-377"><a href="/project" title="Drupal 兼职与外包项目">兼职外包</a></li>
<li class="menu-458 active-trail active"><a href="/writing" title="Drupal优质博客文章及教程" class="active-trail active">博文教程</a></li>
<li class="menu-369 last"><a href="/download" title="Drupal社区团队APP下载">APP下载</a></li>
</ul>      </div> <!-- /#main-menu -->
    
    
  </div></div> <!-- /.section, /#header -->

  
  
  <div id="main-wrapper" class="clearfix"><div id="main" class="clearfix">

          <div id="breadcrumb"><h2 class="element-invisible">你在这里</h2><div class="breadcrumb"><span class="inline odd first"><a href="/">首页</a></span> <span class="delimiter">»</span> <span class="inline even last"><a href="/writing" class="active">Drupal 教程文档</a></span></div></div>
    
    
    <div id="content" class="column"><div class="section">
            <a id="main-content"></a>
                    <h1 class="title" id="page-title">
          Drupal 教程文档        </h1>
                          <div class="tabs">
                  </div>
                          <div class="region region-content">
    <div id="block-system-main" class="block block-system">

    
  <div class="content">
    <div class="view view-writing-list view-id-writing_list view-display-id-page view-dom-id-5d42c716bf25683c5d02a9fbebefe6dc">
            <div class="view-header">
      <a href="http://drupalct.org/contact-us" style="font-weight: bold;font-size: 16px;">我要投稿</a><br /><br />    </div>
  
  
  
      <div class="view-content">
        <div class="views-row views-row-1 views-row-odd views-row-first">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/download"><img src="http://drupalct.org/sites/default/files/preview/drupalct_app_v2.jpg" width="240" height="160" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/download">Drupal社区团队iOS版本上线AppStore</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">经过一段时间和调整和开发，Drupal社区团队的iOS版本终于也正式发布了。大家可以通过扫描下方的二维码分别下载Android和iOS版本的应用。</div>  </div>  </div>
  <div class="views-row views-row-2 views-row-even">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/core-module-changes-in-drupal8.html"><img src="./Picture/Drupal8Modules.jpg" width="240" height="167" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/core-module-changes-in-drupal8.html">使用 Drupal 8 之前你应该了解的内核模块变化</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">距离 Drupal 8 正式发布的时间越来越近，有关 Drupal 8 的咨询和文章也越来越多。除了 Drupal 8 的新特性是大家特别关注的一块之外，D8 中核心模块的变化也是相当引人注意的。本文整理了 D8 相对于 D7 的一些核心模块变化，包括从核心中移除的模块，也包括加入到核心中的模块，以及因为D8提供了类似模块而无需再使用的第三方模块</div>  </div>  </div>
  <div class="views-row views-row-3 views-row-odd">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/content-type-guideline.html"><img src="./Picture/drupal-organizes-your-content-types.png" width="240" height="140" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/content-type-guideline.html">Drupal创建内容类型的基本规范</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">创建内容类型是使用Drupal建站过程中最基本的工作之一，虽然创建内容类型、添加字段的操作十分简单，但时常也因为各种原因导致内容类型及字段的设置缺乏规范。遵循一定的规范有利于为增强项目的易读性及可维护性，不仅提升项目的管理效率，也有利于提升网站的用户体验。</div>  </div>  </div>
  <div class="views-row views-row-4 views-row-even">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/introduce-drupal-block.html"><img src="http://drupalct.org/sites/default/files/preview/drupal-block.png" width="240" height="160" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/introduce-drupal-block.html">Drupal区块——别说你懂Drupal区块</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">区块（Block）是Drupal中的一个基础概念，虽然是基础，但并不容易吃透。也正因为是基础，区块在使用Drupal的过程中也随处可见。狭义来讲，区块是指通过区块管理页面添加的内容块。而广义上来讲，页面中所有的内容块都可以被理解或制作成区块。</div>  </div>  </div>
  <div class="views-row views-row-5 views-row-odd">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-development/drupal-configuration-management-guide.html"><img src="./Picture/dev_stage_prod_servers.png" width="240" height="170" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-development/drupal-configuration-management-guide.html">浅谈 Drupal 配置迁移</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">Drupal 配置迁移是什么？很多 Drupaller 对这个话题感到无所适从，新人工作之初并不会意识到这个问题的存在，而意识到这个问题的朋友也不确定怎样正确地进行配置迁移。本文就围绕 Drupal 配置迁移的原因、方式/方法及相关模块较为系统地聊聊这个话题。</div>  </div>  </div>
  <div class="views-row views-row-6 views-row-even">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/backup-database-with-backup-and-migrate-module.html"><img src="./Picture/backup-migrate-icon_2.png" width="240" height="155" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/backup-database-with-backup-and-migrate-module.html">Drupal备份：使用Backup and Migrate模块</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">Backup and Migrate 模块是Drupal数据库备份的必备模块之一，不仅可用于开发、测试过程中数据库的快速备份与恢复，也可以用于网站数据库的日常备份、恢复和迁移。</div>  </div>  </div>
  <div class="views-row views-row-7 views-row-odd">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/simple-files-download-access-control-of-drupal.html"><img src="./Picture/private_files_download.png" width="240" height="111" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/simple-files-download-access-control-of-drupal.html">如何为Drupal实现简单的下载权限控制？</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">默认情况下，通过Drupal上传的文件被存放在 sites/default/files目录下，且用户可以通过绝对路径直接访问上传的文件。如果希望在这个基础上实现针对于用户角色的文件访问控制，仅用Drupal默认的文件管理系统还不足以实现。</div>  </div>  </div>
  <div class="views-row views-row-8 views-row-even">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/using-comment-alter-module-change-node-fields.html"><img src="./Picture/comment_alter_module.png" width="240" height="160" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/using-comment-alter-module-change-node-fields.html">使用 Comment Alter 模块在评论中修改节点字段</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">Drupal官方社区支持论坛有一项很实用的功能，大家可以通过评论在讨论的过程中对问题状态进行修改、调整，以便为大家提供最近并最正确的信息。</div>  </div>  </div>
  <div class="views-row views-row-9 views-row-odd">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-development/build-a-drupal-distribution.html"><img src="./Picture/drupal_7_distribution.jpg" width="240" height="160" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-development/build-a-drupal-distribution.html">简单且快速地制作 Drupal 发行版</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">之前有读者反馈，希望在Drupal 在线交流会上能够讲讲有关制作Drupal 发行版的话题。记得 Lullabot 早些年间就有写过一篇《简单5步制作Drupal发行版》（《5 Step Drupal Distribution》）的文章，这里便基于此文先和大家聊聊制作 Drupal 发行版的内容。</div>  </div>  </div>
  <div class="views-row views-row-10 views-row-even views-row-last">
      
  <div class="views-field views-field-field-preview">        <div class="field-content"><a href="/drupal-site-building/using-simplenews-create-email-newsletter.html"><img src="./Picture/drupal-simplenews.png" width="240" height="120" alt="" /></a></div>  </div>  
  <div class="views-field views-field-title">        <span class="field-content"><a href="/drupal-site-building/using-simplenews-create-email-newsletter.html">使用 Simplenews 模块进行新闻信创建和推送</a></span>  </div>  
  <div class="views-field views-field-body-1">        <div class="field-content">Simplenews 是Drupal中很流行的邮件新闻信模块，使用它可以在Drupal网站的管理后台进行邮件新闻信的制作和推送。</div>  </div>  </div>
    </div>
  
      <h2 class="element-invisible">页面</h2><div class="item-list"><ul class="pager"><li class="pager-current first">1</li>
<li class="pager-item"><a title="到第 2 页" href="/writing?page=1">2</a></li>
<li class="pager-item"><a title="到第 3 页" href="/writing?page=2">3</a></li>
<li class="pager-item"><a title="到第 4 页" href="/writing?page=3">4</a></li>
<li class="pager-next"><a title="去下一个页面" href="/writing?page=1">下一页 ›</a></li>
<li class="pager-last last"><a title="到最后一页" href="/writing?page=3">末页 »</a></li>
</ul></div>  
  
  
  
  
</div>  </div>
</div>
  </div>
      

    </div></div> <!-- /.section, /#content -->

    
  </div></div> <!-- /#main, /#main-wrapper -->

  
    <div id="footer-wrapper"><div class="section">

          <div id="footer-columns" class="clearfix">
        <div class="resp-cols resp-3-cols">
          <div class="col first">
            <div class="col-inner">
                <div class="region region-footer-firstcolumn">
    <div id="block-menu-menu-sidebar-services" class="block block-menu">

    <h2>Drupal 社区团队</h2>
  
  <div class="content">
    <ul class="menu clearfix"><li class="first leaf"><a href="/about" title="">关于我们</a></li>
<li class="leaf"><a href="/events" title="">社区活动</a></li>
<li class="last leaf"><a href="/services" title="">免费服务</a></li>
</ul>  </div>
</div>
  </div>
            </div>
          </div>
          
          <div class="col">
            <div class="col-inner">
                <div class="region region-footer-secondcolumn">
    <div id="block-menu-menu-sidebar-" class="block block-menu">

    <h2>团队成员</h2>
  
  <div class="content">
    <ul class="menu clearfix"><li class="first leaf"><a href="/members/all" title="">所有成员</a></li>
<li class="leaf"><a href="/members/architect" title="">架构师</a></li>
<li class="leaf"><a href="/members/designer" title="">设计师</a></li>
<li class="leaf"><a href="/members/themer" title="">前端工程师</a></li>
<li class="last leaf"><a href="/members/developer" title="">开发工程师</a></li>
</ul>  </div>
</div>
  </div>
            </div>
          </div>
          
          <div class="col last">
            <div class="col-inner">
                <div class="region region-footer-thirdcolumn">
    <div id="block-menu-menu-sidebar-solutions" class="block block-menu">

    <h2>联系我们</h2>
  
  <div class="content">
    <ul class="menu clearfix"><li class="first leaf"><a href="/pub" title="">发布任务</a></li>
<li class="leaf"><a href="/contact" title="">联系我们</a></li>
<li class="last leaf"><a href="/join-us" title="">加入我们</a></li>
</ul>  </div>
</div>
  </div>
            </div>
          </div>
        </div> <!-- .resp-cols .resp-3-cols -->
              </div> <!-- /#footer-columns -->
      
  </div></div> 
  
      <div id="footer" class="clearfix">
        <div class="region region-footer">
    <div id="block-boxes-copyright" class="block block-boxes block-boxes-simple">

    
  <div class="content">
    <div id='boxes-box-copyright' class='boxes-box'><div class="boxes-box-content"><div style="margin: 0px 20px;">Copyright © 2012 - 2016 <a href="http://www.drupalct.org">Drupal社区团队</a> 版权所有</div></div></div>  </div>
</div>
<div id="block-block-2" class="block block-block">

    
  <div class="content">
    <div id="traffic-analytics" style="display: none;">
<script>
function advagg_mod_1() {
  // Count how many times this function is called.
  advagg_mod_1.count = ++advagg_mod_1.count || 1;
  try {
    if (advagg_mod_1.count <= 40) {
      
<!--//--><![CDATA[// ><!--

var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "//hm.baidu.com/hm.js?a6feab4f8197df259fbeb7832e8fba5a";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();

//--><!]]>


      // Set this to 100 so that this function only runs once.
      advagg_mod_1.count = 100;
    }
  }
  catch(e) {
    if (advagg_mod_1.count >= 40) {
      // Throw the exception if this still fails after running 40 times.
      throw e;
    }
    else {
      // Try again in 250 ms.
      window.setTimeout(advagg_mod_1, 250);
    }
  }
}
function advagg_mod_1_check() {
  if (window.jQuery && window.Drupal && window.Drupal.settings) {
    advagg_mod_1();
  }
  else {
    window.setTimeout(advagg_mod_1_check, 250);
  }
}
advagg_mod_1_check();</script></div>  </div>
</div>
  </div>
    </div> <!-- /#footer -->
  
</div></div> <!-- /#page, /#page-wrapper -->  
<!--[if lte IE 9]>
<script type="text/javascript" src="//drupalct.org/sites/default/files/advagg_js/js__ZbWbjkXZ67CB_y1qL_LTT7CgZF6p5WfsXv4UYmcLFHA__eH5yDFGtdD5H8DcEetZiZp64QwHb2TLlnIy0i-p8Ovo__LB5Z6Tg91OTzo44Ekv_obaj937oxBL5Ysq--Qq79p98.js#ie9-" onload="if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(true);};
function advagg_mod_2() {
  // Count how many times this function is called.
  advagg_mod_2.count = ++advagg_mod_2.count || 1;
  try {
    if (advagg_mod_2.count <= 40) {
      init_drupal_core_settings();

      // Set this to 100 so that this function only runs once.
      advagg_mod_2.count = 100;
    }
  }
  catch(e) {
    if (advagg_mod_2.count >= 40) {
      // Throw the exception if this still fails after running 40 times.
      throw e;
    }
    else {
      // Try again in 1 ms.
      window.setTimeout(advagg_mod_2, 1);
    }
  }
}
function advagg_mod_2_check() {
  if (window.init_drupal_core_settings && window.jQuery && window.Drupal) {
    advagg_mod_2();
  }
  else {
    window.setTimeout(advagg_mod_2_check, 1);
  }
}
advagg_mod_2_check();"></script>
<![endif]-->

<!--[if gt IE 9]>
<script type="text/javascript" src="//drupalct.org/sites/default/files/advagg_js/js__ZbWbjkXZ67CB_y1qL_LTT7CgZF6p5WfsXv4UYmcLFHA__eH5yDFGtdD5H8DcEetZiZp64QwHb2TLlnIy0i-p8Ovo__LB5Z6Tg91OTzo44Ekv_obaj937oxBL5Ysq--Qq79p98.js#ie10+" defer="defer" onload="if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(true);};
function advagg_mod_2() {
  // Count how many times this function is called.
  advagg_mod_2.count = ++advagg_mod_2.count || 1;
  try {
    if (advagg_mod_2.count <= 40) {
      init_drupal_core_settings();

      // Set this to 100 so that this function only runs once.
      advagg_mod_2.count = 100;
    }
  }
  catch(e) {
    if (advagg_mod_2.count >= 40) {
      // Throw the exception if this still fails after running 40 times.
      throw e;
    }
    else {
      // Try again in 1 ms.
      window.setTimeout(advagg_mod_2, 1);
    }
  }
}
function advagg_mod_2_check() {
  if (window.init_drupal_core_settings && window.jQuery && window.Drupal) {
    advagg_mod_2();
  }
  else {
    window.setTimeout(advagg_mod_2_check, 1);
  }
}
advagg_mod_2_check();"></script>
<![endif]-->

<!--[if !IE]><!-->
<script type="text/javascript" src="//drupalct.org/sites/default/files/advagg_js/js__ZbWbjkXZ67CB_y1qL_LTT7CgZF6p5WfsXv4UYmcLFHA__eH5yDFGtdD5H8DcEetZiZp64QwHb2TLlnIy0i-p8Ovo__LB5Z6Tg91OTzo44Ekv_obaj937oxBL5Ysq--Qq79p98.js" defer="defer" onload="if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(true);};
function advagg_mod_2() {
  // Count how many times this function is called.
  advagg_mod_2.count = ++advagg_mod_2.count || 1;
  try {
    if (advagg_mod_2.count <= 40) {
      init_drupal_core_settings();

      // Set this to 100 so that this function only runs once.
      advagg_mod_2.count = 100;
    }
  }
  catch(e) {
    if (advagg_mod_2.count >= 40) {
      // Throw the exception if this still fails after running 40 times.
      throw e;
    }
    else {
      // Try again in 1 ms.
      window.setTimeout(advagg_mod_2, 1);
    }
  }
}
function advagg_mod_2_check() {
  if (window.init_drupal_core_settings && window.jQuery && window.Drupal) {
    advagg_mod_2();
  }
  else {
    window.setTimeout(advagg_mod_2_check, 1);
  }
}
advagg_mod_2_check();"></script>
<!--<![endif]-->
<script type="text/javascript">
<!--//--><![CDATA[//><!--
function init_drupal_core_settings() {jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"team","theme_token":"5knb2THZHdI6pc9g-OMLo6PsnJYGhyJ83d1Vx7zKJ3s"}});
if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(false);}} if(window.jQuery && window.Drupal){init_drupal_core_settings();}
//--><!]]>
</script>
</body>
</html>
